package com.hl.ruoyicsmshop.mapper;

import java.util.List;
import com.hl.ruoyicsmshop.domain.UserCoupons;
import com.hl.ruoyicsmshop.domain.vo.UserCouponVO;

/**
 * 用户优惠券Mapper接口
 * 
 * @author ruoyi
 * @date 2025-01-27
 */
public interface UserCouponMapper 
{
    /**
     * 查询用户优惠券
     * 
     * @param userCouponId 用户优惠券主键
     * @return 用户优惠券
     */
    public UserCoupons selectUserCouponByUserCouponId(Long userCouponId);

    /**
     * 查询用户优惠券列表
     * 
     * @param userCoupons 用户优惠券
     * @return 用户优惠券集合
     */
    public List<UserCoupons> selectUserCouponList(UserCoupons userCoupons);

    /**
     * 查询用户优惠券详细信息列表（包含优惠券详情）
     * 
     * @param userId 用户ID
     * @return 用户优惠券详细信息集合
     */
    public List<UserCouponVO> selectUserCouponDetailList(Long userId);

    /**
     * 新增用户优惠券
     * 
     * @param userCoupons 用户优惠券
     * @return 结果
     */
    public int insertUserCoupon(UserCoupons userCoupons);

    /**
     * 修改用户优惠券
     * 
     * @param userCoupons 用户优惠券
     * @return 结果
     */
    public int updateUserCoupon(UserCoupons userCoupons);

    /**
     * 删除用户优惠券
     * 
     * @param userCouponId 用户优惠券主键
     * @return 结果
     */
    public int deleteUserCouponByUserCouponId(Long userCouponId);

    /**
     * 批量删除用户优惠券
     * 
     * @param userCouponIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteUserCouponByUserCouponIds(Long[] userCouponIds);
}
